Compartilhar via


System.Collections.ObjectModel.KeyedCollection<TKey,Tem>. Método ChangeItemKey

Este artigo fornece observações complementares à documentação de referência para essa API.

O ChangeItemKey(TItem, TKey) método não modifica a chave embutida item, ele simplesmente substitui a chave salva no dicionário de pesquisa. Portanto, se newKey for diferente da chave incorporada no item, você não poderá acessar item usando a chave retornada pelo GetKeyForItem.

Esse método não faz nada se o KeyedCollection<TKey,TItem> não tiver um dicionário de pesquisa.

Cada chave em um KeyedCollection<TKey,TItem> deve ser única. Uma chave não pode ser null.

Este método é uma operação O(1).

Notas para implementadores

Antes de modificar a chave incorporada em um item, você deve chamar esse método para atualizar a chave no dicionário de pesquisa. Se o limite de criação do dicionário for -1, chamar esse método não será necessário.

Não exponha o ChangeItemKey método como um método público de uma classe derivada. O uso indevido desse método coloca o dicionário de pesquisa fora de sincronia com as chaves de item. Por exemplo, definir a chave como null outro valor adiciona várias chaves para um item ao dicionário de pesquisa. Expor esse método internamente para permitir chaves de item mutáveis: quando a chave de um item é alterada, esse método é usado para alterar a chave no dicionário de pesquisa.